package com.fmdj.odr.db.dao;
import com.fmdj.odr.db.pojo.OrderEntity;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

public interface OrderDao {

    public HashMap selectDriverTodayBusinessData(long driverId);

    public int insert(OrderEntity entity);

    public String selectOrderIdByUUID(String uuid);

    int acceptNewOrder(HashMap map);

    HashMap searchDriverExecuteOrder(Map map);

    int searchOrderStatus(Map map);

    int deleteUnAcceptOrder(Map map);

    HashMap searchDriverCurrentOrder(long driverId);

    /*这里不能是long 只能是Long 因为long是基本类型不能接收null 而Long是包装类可以接收null*/
    Long hasCustomerUnFinishedOrder(long customerId);

    HashMap hasCustomerUnAcceptOrder(long customerId);

    HashMap searchOrderForMoveById(Map map);

    int updateOrderStatus(Map map);

    ArrayList<HashMap> searchOrderByPage(Map map);

    Long searchOrderCount(Map map);

    HashMap searchOrderContent(long orderId);

    /*返回的是 多个上车点经纬度的 字符串形式 把它们放在一个列表中*/
    ArrayList<String> searchOrderStartLocationIn30Days();

    long validDriverOwnOrder(Map map);

    HashMap searchSettlementNeedData(long orderId);

    int updateOrderMileageAndFee(Map map);

    HashMap searchOrderById(Map map);

    HashMap validCanPayOrder(Map map);

    int updateOrderPrepayId(Map map);

    HashMap searchOrderIdAndStatus(String uuid);

    HashMap searchDriverIdAndIncentiveFee(String uuid);

    int updateOrderPayIdAndStatus(Map map);

    int finishOrder(String uuid);

    HashMap searchUuidAndStatus(long orderId);

    int updateOrderAboutPayment(Map map);

    long validDriverAndCustomerOwnOrder(Map map);

    ArrayList<HashMap> searchDriverOrderByPage(Map map);

    long searchDriverOrderCount(Map map);

    ArrayList<HashMap> searchCustomerOrderByPage(Map map);

    long searchCustomerOrderCount(Map map);

}




